package com.muyu.payment.domain.req;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 充值请求
 *
 * @author muyu
 * @date 2025-01-27
 */
@Data
@Schema(description = "充值请求")
public class RechargeReq {

    /**
     * 充值金额
     */
    @NotNull(message = "充值金额不能为空")
    @DecimalMin(value = "0.01", message = "充值金额必须大于0.01元")
    @Schema(description = "充值金额", example = "100.00")
    private BigDecimal amount;

    /**
     * 支付渠道（1:支付宝 2:微信 3:银行卡）
     */
    @NotNull(message = "支付渠道不能为空")
    @Schema(description = "支付渠道（1:支付宝 2:微信 3:银行卡）", example = "1")
    private Integer payChannel;

    /**
     * 订单标题
     */
    @Schema(description = "订单标题", example = "账户充值")
    private String subject;

    /**
     * 订单描述
     */
    @Schema(description = "订单描述", example = "用户账户充值")
    private String body;

    /**
     * 客户端IP
     */
    @Schema(description = "客户端IP")
    private String clientIp;
}